// 作用：他可以处理给定“路径字符串”

// 1.引入path库
const path = require('path')

// 2.介绍他内部常用的4个方法
// （1）：path.extname('路径字符串')
// 返回值：  提取路径字符串里扩展名（包含.）
console.log(path.extname('./data/student.json'))  //.json
console.log(path.extname('./data/student.js.json'))  //.json
console.log(path.extname('./data/a.json.txt'))  //.txt

// (2): path.join('路径字符串','路径字符串' ...)
// 注意：  会以计算机的文件夹分隔符链接
// 返回值： 拼接好的完成’相对路径‘字符串
console.log(path.join('a', 'b', 'c'))  // a\b\c
console.log(path.join('a', 'b', '../c', 'd'))//  a\c\d
console.log(path.join('a', 'b', '..', 'c'))// a\c
//   ..代表回到父级文件夹下
// 知识点'/'是Unix（Linux）系统里用的文件路径分隔符号
//  '\'是window系统里文件路径的分隔符

// (3): 拼接路径, 使用resolve方法
// 语法: path.resolve('路径字符串', ...可以多个)
// 返回值: 从磁盘根目录返回, 完整的路径字符串
console.log(path.resolve(__dirname,'a', 'b', 'c'))// D:\黑马\study\Node学习\第一天\a\b\c
console.log(path.resolve(__dirname,'a', 'b', '../c', 'd'))//D:\黑马\study\Node学习\第一天\a\c\d
console.log(path.resolve(__dirname,'a', 'b', '..', 'c'))//D:\黑马\study\Node学习\第一天\a\c

// 2. path.basename()
// 返回 path 的最后一部分
// 尾随的目录分隔符被忽略
console.log(path.basename('a/b/c/静夜思.txt'))//静夜思.txt
console.log(path.basename('a/b/c/girl.png'))//girl.png
console.log(path.basename('a/b/c/d'))//d